package co.baiku.boot.common.type;

import co.baiku.boot.common.spring.SpringContext;

/**
 * 系统环境获取工具
 */
public enum SystemEnv {
    DEV("dev"), QA("qa"), PRD("prd");

    String env;

    SystemEnv(String env) {
        this.env = env;
    }

    public String getEnv() {
        return env;
    }

    /**
     * 获取当前环境
     *
     * @return
     */
    public static SystemEnv env() {
        String activeProfile = SpringContext.env().getActiveProfiles()[0];
        for (SystemEnv value : SystemEnv.values()) {
            if (value.getEnv().equals(activeProfile)) {
                return value;
            }
        }
        return DEV;
    }

    /**
     * 判断当前是否是某个环境
     *
     * @param env
     * @return
     */
    public static boolean isEnv(SystemEnv env) {
        return env().equals(env);
    }
}
